home *** CD-ROM | disk | FTP | other *** search
/ Get a Grip Tennis by Wilson / Get a Grip Tennis by Wilson.iso / pc / wilson.dxr / Internal_21_General Button Control.ls < prev    next >
Encoding:
Text File  |  2003-08-12  |  4.0 KB  |  103 lines

  1. property pMySprite, pMyMember, pCurrentSpriteCursor, pMouseOver, pMouseDown, pMouseEnterSound, pMouseDownSound, pEnterSoundFlag, pDownSoundFlag, pSoundChannel, pCursorFlag, pCursorMO, pCursorMD, pMarker, pProcessMarker, pMUScript, pProcessRollovers, Active, pEFScript
  2.  
  3. on beginSprite me
  4.   pMySprite = me.spriteNum
  5.   pMyMember = sprite(pMySprite).member
  6.   pCurrentSpriteCursor = sprite(pMySprite).cursor
  7.   Active = 0
  8. end
  9.  
  10. on endSprite me
  11.   sprite(pMySprite).cursor = pCurrentSpriteCursor
  12. end
  13.  
  14. on mouseEnter me
  15.   if pProcessRollovers then
  16.     sprite(pMySprite).member = pMouseOver
  17.   end if
  18.   if pEnterSoundFlag then
  19.     puppetSound(pSoundChannel, pMouseEnterSound)
  20.   end if
  21.   if pCursorFlag then
  22.     sprite(pMySprite).cursor = pCursorMO
  23.   end if
  24. end
  25.  
  26. on mouseLeave me
  27.   if pProcessRollovers then
  28.     sprite(pMySprite).member = pMyMember
  29.   end if
  30.   sprite(pMySprite).cursor = pCurrentSpriteCursor
  31. end
  32.  
  33. on mouseDown me
  34.   if pProcessRollovers then
  35.     sprite(pMySprite).member = pMouseDown
  36.   end if
  37.   if pDownSoundFlag then
  38.     puppetSound(pSoundChannel, pMouseDownSound)
  39.   end if
  40.   if pCursorFlag then
  41.     sprite(pMySprite).cursor = pCursorMD
  42.   end if
  43.   Active = 1
  44. end
  45.  
  46. on mouseUp me
  47.   if Active then
  48.     if pCursorFlag and pProcessMarker then
  49.       sprite(pMySprite).cursor = pCurrentSpriteCursor
  50.       if pEFScript <> VOID then
  51.         do(pEFScript)
  52.       end if
  53.       go(pMarker)
  54.     else
  55.       if pProcessMarker then
  56.         if pEFScript <> VOID then
  57.           do(pEFScript)
  58.         end if
  59.         go(pMarker)
  60.       else
  61.         if pCursorFlag then
  62.           sprite(pMySprite).cursor = pCursorMO
  63.         end if
  64.       end if
  65.     end if
  66.     do(pMUScript)
  67.   end if
  68. end
  69.  
  70. on getPropertyDescriptionList
  71.   pdlist = [:]
  72.   thisMember = sprite(the currentSpriteNum).member
  73.   thisMemberNum = thisMember.number
  74.   overMem = thisMember
  75.   downMem = thisMember
  76.   if member(thisMemberNum + 1).type = #bitmap then
  77.     overMem = member(thisMemberNum + 1)
  78.   end if
  79.   if member(thisMemberNum + 2).type = #bitmap then
  80.     downMem = member(thisMemberNum + 2)
  81.   end if
  82.   addProp(pdlist, #pProcessRollovers, [#comment: "process rollovers: ", #format: #boolean, #default: 1])
  83.   addProp(pdlist, #pMouseOver, [#comment: "mouseOver image: ", #format: #bitmap, #default: overMem])
  84.   addProp(pdlist, #pMouseDown, [#comment: "mouseDown image: ", #format: #bitmap, #default: downMem])
  85.   addProp(pdlist, #pProcessMarker, [#comment: "process jump to marker: ", #format: #boolean, #default: 1])
  86.   addProp(pdlist, #pMarker, [#comment: "which marker on mouseUp: ", #format: #marker, #default: #next])
  87.   addProp(pdlist, #pEnterSoundFlag, [#comment: "play mouseEnter sound: ", #format: #boolean, #default: 0])
  88.   addProp(pdlist, #pMouseEnterSound, [#comment: "which sound: ", #format: #sound, #default: #none])
  89.   addProp(pdlist, #pDownSoundFlag, [#comment: "play mouseDown sound: ", #format: #boolean, #default: 0])
  90.   addProp(pdlist, #pMouseDownSound, [#comment: "which sound: ", #format: #sound, #default: #none])
  91.   addProp(pdlist, #pSoundChannel, [#comment: "sound channel: ", #format: #integer, #default: 2, #range: [#min: 1, #max: 8]])
  92.   addProp(pdlist, #pCursorFlag, [#comment: "change cursor: ", #format: #boolean, #default: 1])
  93.   addProp(pdlist, #pCursorMO, [#comment: "mouseOver cursor: ", #format: #cursor, #default: 280])
  94.   addProp(pdlist, #pCursorMD, [#comment: "mouseDown cursor: ", #format: #cursor, #default: 280])
  95.   addProp(pdlist, #pMUScript, [#comment: "mouseUp command: ", #format: #string, #default: EMPTY])
  96.   addProp(pdlist, #pEFScript, [#comment: "exitFrame command: ", #format: #string, #default: EMPTY])
  97.   return pdlist
  98. end
  99.  
  100. on getBehaviorDescription
  101.   return "A nice general button control.  Developer has the ability to set mouseOver and mouseDown states for the button, which marker to go to, whether or not to play a sound on mouseEnter and/or mouseDown, and if the cursor should change on mouseOver and mouseDown." & RETURN & RETURN & "Hilite states must be bitmaps (not SWFs)." & RETURN & "Sounds must be internal (not SWAs)." & RETURN & "Cursors must be D7+ cursors (not custom)."
  102. end
  103.